In publish-subscribe software architecture, producers categorize their messages according to topics. They may publish messages by topic without regard to who will receive, i.e., without sending messages directly to specific recipients. Correspondingly, subscribers select categories of content to receive without receiving the published content, i.e., one or more messages, directly from publishers. This publish-subscribe arrangement delivers messages from publishers to interested subscribers by routing the messages based on topic trees.